package cn.iocoder.yudao.module.hs.controller.admin.picktaskmaterialdetail.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 拣货物料明细 Response VO")
@Data
@ExcelIgnoreUnannotated
public class PickTaskMaterialDetailRespVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "24308")
    @ExcelProperty("主键")
    private Long id;

    @Schema(description = "拣货任务ID", example = "19747")
    @ExcelProperty("拣货任务ID")
    private Long pickTaskId;

    @Schema(description = "出库单ID", example = "2618")
    @ExcelProperty("出库单ID")
    private Long shipOrderId;

    @Schema(description = "物料ID", example = "4108")
    @ExcelProperty("物料ID")
    private Long materialId;

    @Schema(description = "产品码")
    @ExcelProperty("产品码")
    private String materialCode;

    @Schema(description = "物料名称", example = "王五")
    @ExcelProperty("物料名称")
    private String materialName;

    @Schema(description = "物料代码")
    @ExcelProperty("物料代码")
    private String materialModeCode;

    @Schema(description = "拣货人ID", example = "25721")
    @ExcelProperty("拣货人ID")
    private Long pickUserId;

    @Schema(description = "拣货人姓名", example = "李四")
    @ExcelProperty("拣货人姓名")
    private String pickUserName;

    @Schema(description = "拣货时间")
    @ExcelProperty("拣货时间")
    private LocalDateTime pickTime;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "仓库ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long warehouseId;

    @Schema(description = "入库时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime warehousingTime;

    @Schema(description = "托盘编号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String trayCode;

    @Schema(description = "RFID编号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String rfidCode;

    @Schema(description = "物料箱编号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String boxCode;

    @Schema(description = "物料拣货状态", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer pickStatus;

}